package com.cdtye.itps.cms.dao.defect.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

@ApiModel("缺陷图片数据")
@Data
@Accessors(chain = true)
@TableName("JCW_DEFECT_INFO_PHOTO")
public class JcwDefectInfoPhoto {
    @TableId(
            value = "DEFECT_INFO_PHOTO_ID",
            type = IdType.ASSIGN_UUID
    )
    private String defectInfoPhotoId;
    @ApiModelProperty("文件名")
    private String fileName;
    @ApiModelProperty("附件类型 1.图片 2.音视频 3.其他")
    private String fileType;
    @ApiModelProperty("文件大小")
    private Long fileSize;
    @ApiModelProperty("文件扩展名")
    private String fileExtname;
    @ApiModelProperty("文件互联网访问地址")
    private String filePath;
    @ApiModelProperty("文件存放地址")
    private String fileAddr;
    @ApiModelProperty("缺陷信息ID")
    private String defectInfoId;
    @ApiModelProperty("状态，1：局级上传的缺陷图片/4.0修前照片，2：修后 3:6c缺陷图片 4:复测图片")
    private String photoFlag;
    @ApiModelProperty("上传类型 1本地 2 局级")
    private Integer uploadType;
    @ApiModelProperty("缩略图地址")
    private String thumbnail;
    @ApiModelProperty(value = "缺陷阶段（1缺陷、2复核、3消缺）")
    private Integer defectStage;
    @ApiModelProperty("访问路径")
    @TableField(
            exist = false
    )
    private String url;

    public JcwDefectInfoPhoto() {
    }

    public String getDefectInfoPhotoId() {
        return this.defectInfoPhotoId;
    }

    public String getFileName() {
        return this.fileName;
    }

    public String getFileType() {
        return this.fileType;
    }

    public Long getFileSize() {
        return this.fileSize;
    }

    public String getFileExtname() {
        return this.fileExtname;
    }

    public String getFilePath() {
        return this.filePath;
    }

    public String getFileAddr() {
        return this.fileAddr;
    }

    public String getDefectInfoId() {
        return this.defectInfoId;
    }

    public String getPhotoFlag() {
        return this.photoFlag;
    }

    public Integer getUploadType() {
        return this.uploadType;
    }

    public String getThumbnail() {
        return this.thumbnail;
    }

    public String getUrl() {
        return this.url;
    }

    public JcwDefectInfoPhoto setDefectInfoPhotoId(String defectInfoPhotoId) {
        this.defectInfoPhotoId = defectInfoPhotoId;
        return this;
    }

    public JcwDefectInfoPhoto setFileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    public JcwDefectInfoPhoto setFileType(String fileType) {
        this.fileType = fileType;
        return this;
    }

    public JcwDefectInfoPhoto setFileSize(Long fileSize) {
        this.fileSize = fileSize;
        return this;
    }

    public JcwDefectInfoPhoto setFileExtname(String fileExtname) {
        this.fileExtname = fileExtname;
        return this;
    }

    public JcwDefectInfoPhoto setFilePath(String filePath) {
        this.filePath = filePath;
        return this;
    }

    public JcwDefectInfoPhoto setFileAddr(String fileAddr) {
        this.fileAddr = fileAddr;
        return this;
    }

    public JcwDefectInfoPhoto setDefectInfoId(String defectInfoId) {
        this.defectInfoId = defectInfoId;
        return this;
    }

    public JcwDefectInfoPhoto setPhotoFlag(String photoFlag) {
        this.photoFlag = photoFlag;
        return this;
    }

    public JcwDefectInfoPhoto setUploadType(Integer uploadType) {
        this.uploadType = uploadType;
        return this;
    }

    public JcwDefectInfoPhoto setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail;
        return this;
    }

    public JcwDefectInfoPhoto setUrl(String url) {
        this.url = url;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JcwDefectInfoPhoto)) {
            return false;
        } else {
            JcwDefectInfoPhoto other = (JcwDefectInfoPhoto)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label155: {
                    Object this$defectInfoPhotoId = this.getDefectInfoPhotoId();
                    Object other$defectInfoPhotoId = other.getDefectInfoPhotoId();
                    if (this$defectInfoPhotoId == null) {
                        if (other$defectInfoPhotoId == null) {
                            break label155;
                        }
                    } else if (this$defectInfoPhotoId.equals(other$defectInfoPhotoId)) {
                        break label155;
                    }

                    return false;
                }

                Object this$fileName = this.getFileName();
                Object other$fileName = other.getFileName();
                if (this$fileName == null) {
                    if (other$fileName != null) {
                        return false;
                    }
                } else if (!this$fileName.equals(other$fileName)) {
                    return false;
                }

                Object this$fileType = this.getFileType();
                Object other$fileType = other.getFileType();
                if (this$fileType == null) {
                    if (other$fileType != null) {
                        return false;
                    }
                } else if (!this$fileType.equals(other$fileType)) {
                    return false;
                }

                label134: {
                    Object this$fileSize = this.getFileSize();
                    Object other$fileSize = other.getFileSize();
                    if (this$fileSize == null) {
                        if (other$fileSize == null) {
                            break label134;
                        }
                    } else if (this$fileSize.equals(other$fileSize)) {
                        break label134;
                    }

                    return false;
                }

                label127: {
                    Object this$fileExtname = this.getFileExtname();
                    Object other$fileExtname = other.getFileExtname();
                    if (this$fileExtname == null) {
                        if (other$fileExtname == null) {
                            break label127;
                        }
                    } else if (this$fileExtname.equals(other$fileExtname)) {
                        break label127;
                    }

                    return false;
                }

                label120: {
                    Object this$filePath = this.getFilePath();
                    Object other$filePath = other.getFilePath();
                    if (this$filePath == null) {
                        if (other$filePath == null) {
                            break label120;
                        }
                    } else if (this$filePath.equals(other$filePath)) {
                        break label120;
                    }

                    return false;
                }

                Object this$fileAddr = this.getFileAddr();
                Object other$fileAddr = other.getFileAddr();
                if (this$fileAddr == null) {
                    if (other$fileAddr != null) {
                        return false;
                    }
                } else if (!this$fileAddr.equals(other$fileAddr)) {
                    return false;
                }

                label106: {
                    Object this$defectInfoId = this.getDefectInfoId();
                    Object other$defectInfoId = other.getDefectInfoId();
                    if (this$defectInfoId == null) {
                        if (other$defectInfoId == null) {
                            break label106;
                        }
                    } else if (this$defectInfoId.equals(other$defectInfoId)) {
                        break label106;
                    }

                    return false;
                }

                Object this$photoFlag = this.getPhotoFlag();
                Object other$photoFlag = other.getPhotoFlag();
                if (this$photoFlag == null) {
                    if (other$photoFlag != null) {
                        return false;
                    }
                } else if (!this$photoFlag.equals(other$photoFlag)) {
                    return false;
                }

                label92: {
                    Object this$uploadType = this.getUploadType();
                    Object other$uploadType = other.getUploadType();
                    if (this$uploadType == null) {
                        if (other$uploadType == null) {
                            break label92;
                        }
                    } else if (this$uploadType.equals(other$uploadType)) {
                        break label92;
                    }

                    return false;
                }

                Object this$thumbnail = this.getThumbnail();
                Object other$thumbnail = other.getThumbnail();
                if (this$thumbnail == null) {
                    if (other$thumbnail != null) {
                        return false;
                    }
                } else if (!this$thumbnail.equals(other$thumbnail)) {
                    return false;
                }

                Object this$url = this.getUrl();
                Object other$url = other.getUrl();
                if (this$url == null) {
                    if (other$url != null) {
                        return false;
                    }
                } else if (!this$url.equals(other$url)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JcwDefectInfoPhoto;
    }

    public int hashCode() {
        int result = 1;
        Object $defectInfoPhotoId = this.getDefectInfoPhotoId();
        result = result * 59 + ($defectInfoPhotoId == null ? 43 : $defectInfoPhotoId.hashCode());
        Object $fileName = this.getFileName();
        result = result * 59 + ($fileName == null ? 43 : $fileName.hashCode());
        Object $fileType = this.getFileType();
        result = result * 59 + ($fileType == null ? 43 : $fileType.hashCode());
        Object $fileSize = this.getFileSize();
        result = result * 59 + ($fileSize == null ? 43 : $fileSize.hashCode());
        Object $fileExtname = this.getFileExtname();
        result = result * 59 + ($fileExtname == null ? 43 : $fileExtname.hashCode());
        Object $filePath = this.getFilePath();
        result = result * 59 + ($filePath == null ? 43 : $filePath.hashCode());
        Object $fileAddr = this.getFileAddr();
        result = result * 59 + ($fileAddr == null ? 43 : $fileAddr.hashCode());
        Object $defectInfoId = this.getDefectInfoId();
        result = result * 59 + ($defectInfoId == null ? 43 : $defectInfoId.hashCode());
        Object $photoFlag = this.getPhotoFlag();
        result = result * 59 + ($photoFlag == null ? 43 : $photoFlag.hashCode());
        Object $uploadType = this.getUploadType();
        result = result * 59 + ($uploadType == null ? 43 : $uploadType.hashCode());
        Object $thumbnail = this.getThumbnail();
        result = result * 59 + ($thumbnail == null ? 43 : $thumbnail.hashCode());
        Object $url = this.getUrl();
        result = result * 59 + ($url == null ? 43 : $url.hashCode());
        return result;
    }

    public String toString() {
        return "JcwDefectInfoPhoto(defectInfoPhotoId=" + this.getDefectInfoPhotoId() + ", fileName=" + this.getFileName() + ", fileType=" + this.getFileType() + ", fileSize=" + this.getFileSize() + ", fileExtname=" + this.getFileExtname() + ", filePath=" + this.getFilePath() + ", fileAddr=" + this.getFileAddr() + ", defectInfoId=" + this.getDefectInfoId() + ", photoFlag=" + this.getPhotoFlag() + ", uploadType=" + this.getUploadType() + ", thumbnail=" + this.getThumbnail() + ", url=" + this.getUrl() + ")";
    }
}

